package com.mmq.ets.modele;
/******************************************************
Cours:   LOG121
Session: A2013
Groupe:  04
Projet: Laboratoire #1
Étudiant: Francisco Quilodran Chavez              
Professeur : Francis Cardinal
Nom du fichier: Ligne.java
Date créé: 2013-09-06
Date dern. modif. 2013-09-27
*/  
import java.awt.Color;
import java.awt.Graphics;

/**
	Cette classe possède les configurations de base pour une ligne 
	@author Francisco Quilodran Chavez
	@version 1.1

*/
public class Ligne extends AbstractForme
{
	private int differenceX;
	private int differenceY;
	/**
	 * Constructeur sans arguments
	 */
	public Ligne() 
	{
		this.setCouleur(Color.green);
	}
    /**
     * @see Voir definition des arguments dans la Classe Forme
     * @param nseq numéro d'identification
     * @param pointDepartX Point depart x d'une ligne.
     * @param pointDepartY Point depart y d'une ligne.
     * 
     * @param pointArriveeX Point final x d'une ligne. 
     * @param pointArriveeY Point final y d'une ligne.
     * @param couleur est definie par default verte.
     */ 
	public Ligne(int nseq,int pointDepartX, int pointDepartY,int pointArriveX,int pointArriveY) 
	{
		super(nseq,pointDepartX, pointDepartY);
        this.differenceX=Math.abs(pointArriveX-pointDepartX);
        this.differenceY=Math.abs(pointArriveY-pointDepartY);
		this.setCouleur(Color.green);
	}

	/**
	 * Dessine un ligne à l'aide de «drawLine»
	 */
	@Override
	public void dessinerForme(Graphics g)
	{
		g.setColor(this.getCouleur());
		g.drawLine(this.getPointDepartX(), this.getPointDepartY(), differenceX+this.getPointDepartX(), differenceY+this.getPointDepartY());
		g.setColor(Color.black);
		g.drawRoundRect(this.getPointDepartX(), this.getPointDepartY(),differenceX, differenceY,0,0);
	}
	/**
	 * @return le Point final x
	 */
	public int getPointArriveX() {
		return differenceX;
	}
	/**
	 * 
	 * @param Le point finale en coordonée x
	 */
	public void setPointArriveX(int pointArriveX) {
		this.differenceX = pointArriveX;
	}
	/**
	 * 
	 * @return Le point finale en coordonée y
	 */
	public int getPointArriveY() {
		return differenceY;
	}
	/**
	 * 
	 * @param Le point finale en coordonée y
	 * 
	 */
	public void setPointArriveY(int pointArriveY) {
		this.differenceY = pointArriveY;
	}
	@Override
	public double getAire() 
	{
		return 0;
	}
	@Override
	public double getDistanceMaximale() 
	{
		return Math.sqrt(Math.pow(differenceX,2)+Math.pow(differenceY,2));
	}
	@Override
	public double getHauteur() 
	{
	
		return differenceY;
	}
	@Override
	public double getLargeur() 
	{
		return differenceX;
	}
	



}
